home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CICA Windows Explosion!
/
The CICA Windows Explosion! - Disc 2.iso
/
programr
/
wtj208.zip
/
ZEMPEL
/
SOURCE
/
THUNKVB
/
THUNKCAL.TXT
< prev
next >
Wrap
Text File
|
1993-05-08
|
2KB
|
70 lines
Dim Numbers&(0 To 3)
Dim arg1&, arg2&, answer&
Sub Form_Load ()
arg1& = 10&
arg2& = 5&
txVal1.Text = Format$(arg1&)
txVal2.Text = Format$(arg2&)
End Sub
Sub operator_Click (index As Integer)
Numbers&(0) = arg1&
Numbers&(1) = arg2&
'first must get the pointer (selector/offset)
lpVBArray& = VBPTRtoLong&(Numbers&(0))
'get selector from pointer
VBSel% = lpVBArray& \ &H10000
'get handle from selector
lhvbarray& = GlobalHandle(VBSel%)
hvbArray% = VBLowWord(lhvbarray&)
'lock VB array in virtual address space
GlobalFix (hvbArray%)
Select Case Operator(index).Caption
Case "+"
If (opt16.Value) Then
answer = AddTwo(Numbers&(0))
Else answer = AddTwo32(Numbers&(0))
answer = Numbers&(2)
End If
Case "-"
If (opt16.Value) Then
answer = SubTwo(Numbers&(0))
Else answer = SubTwo32(Numbers&(0))
answer = Numbers&(2)
End If
Case "X"
If (opt16.Value) Then
answer = MultTwo(Numbers&(0))
Else answer = MultTwo32(Numbers&(0))
answer = Numbers&(2)
End If
Case "/"
If arg2 = 0 Then
MsgBox "Can't divide by zero", 48, "ThunkCalc"
Else
If (opt16.Value) Then
answer = DivTwo(Numbers&(0))
Else answer = DivTwo32(Numbers&(0))
answer = Numbers&(2)
End If
End If
End Select
GlobalUnFix (hvbArray%)
labReadOut.Caption = Format$(answer)
End Sub
Sub txVal1_Change ()
arg1& = Val(txVal1.Text)
End Sub
Sub txVal2_Change ()
arg2& = Val(txVal2.Text)
End Sub